package cpsobras.web;

import java.io.Serializable;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import cpsobras.cronograma_etapa.Cronograma_Etapa;
import cpsobras.cronograma_etapa.Cronograma_EtapaRN;

@ManagedBean(name="cronogramaBean")
@SessionScoped

public class CronogramaBean implements Serializable {
	private static final long serialVersionUID = 1L;
	private Cronograma_Etapa cronograma = new Cronograma_Etapa();
	private List<Cronograma_Etapa> lista;
	private List<Cronograma_Etapa> pesquisarCronograma;
	private List<Cronograma_Etapa> lista_obra;
	private Integer obraSelecionada;
	
	public String novo(){
		this.cronograma = new Cronograma_Etapa();
		return "cronograma";
	}

	public String salvar(){
		Cronograma_EtapaRN cronogramaRN = new Cronograma_EtapaRN();
		cronogramaRN.salvar(this.cronograma);
		FacesContext context = FacesContext.getCurrentInstance();
		FacesMessage facesMessage = new FacesMessage("Cadastrado/Alterado com sucesso!");
		context.addMessage(null, facesMessage);

		FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("cronogramaBean");
		this.cronograma = null;
		return "listar_cronograma";
	}
	
	public String excluir(){
		Cronograma_EtapaRN cronogramaRN = new Cronograma_EtapaRN();
		cronogramaRN.excluir(this.cronograma);
		this.lista_obra = null;
		//FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("cronogramaBean");
		return "listar_cronograma";
	}
		
	public String alterar(){
		return "cronograma";
	}

	public String voltar(){
		return "listar_cronograma";
	}

	public List<Cronograma_Etapa> getLista() {
		if(this.lista == null){
			Cronograma_EtapaRN cronogramaEtapaRN = new Cronograma_EtapaRN();
			this.lista = cronogramaEtapaRN.listar();
		}
		return this.lista;
	}
	
	public Integer getObraSelecionada() {
		return obraSelecionada;
	}

	public void setObraSelecionada(Integer obraSelecionada) {
		this.lista_obra = null;
		this.obraSelecionada = obraSelecionada;
	}

	public Cronograma_Etapa getCronograma() {
		return cronograma;
	}

	public void setCronograma(Cronograma_Etapa cronograma) {
		this.cronograma = cronograma;
	}

	public List<Cronograma_Etapa> getPesquisarCronograma() {
		return pesquisarCronograma;
	}

	public void setPesquisarCronograma(List<Cronograma_Etapa> pesquisarCronograma) {
		this.pesquisarCronograma = pesquisarCronograma;
	}

	public List<Cronograma_Etapa> getLista_obra() {
		if(this.lista_obra == null){
			Cronograma_EtapaRN cronogramaEtapaRN = new Cronograma_EtapaRN();
			this.lista_obra = cronogramaEtapaRN.carregar(obraSelecionada);
		}
		return this.lista_obra;
	}

	public void setLista_obra(List<Cronograma_Etapa> lista_obra) {
		this.lista_obra = lista_obra;
	}
	
}
